Re: [SQL] date_arithmetic revisited

Поиск
Список
Период
Сортировка
От Herouth Maoz
Тема Re: [SQL] date_arithmetic revisited
Дата
Msg-id l03130307b3ca2a5eb72f@[147.233.159.109]
обсуждение исходный текст
Ответ на date_arithmetic revisited  (Thomas Good <tomg@admin.nrnet.org>)
Ответы Re: [SQL] date_arithmetic revisited  (Thomas Good <tomg@admin.nrnet.org>)
Список pgsql-sql
At 17:15 +0300 on 30/07/1999, Thomas Good wrote:


> Is there a way/function that allows me to do simple date arithmetic,
> ala, `SELECT $enddate - startdate;' ?

Sure. Nike.

I mean, just do it. What you get from it depends, of course, on the type of
the fields. If they are of type date, you get the round number of days
between them (the result is of type int4):

testing=> select d_start, d_end, d_end - d_start from test2;  d_start|     d_end|?column?
----------+----------+--------
01-15-1969|08-01-1999|   11155
07-14-1999|07-18-1999|       4
04-13-1998|03-12-1998|     -32
12-01-1999|12-01-1999|       0
(4 rows)

If they are of type datetime, you get a timespan describing the difference:

testing=> select t_end - t_start as result from test1;
result
----------------------
@ 11154 days 23 hours
@ 4 days
@ 31 days 23 hours ago
@ 0
(4 rows)

If this doesn't suit you, you can take the date_part( 'day', ... ) from the
above operation, but it truncates rather than rounds. The result is float8,
BTW.

Herouth

--
Herouth Maoz, Internet developer.
Open University of Israel - Telem project
http://telem.openu.ac.il/~herutma




В списке pgsql-sql по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [SQL] MVCC and concurrent clients
Следующее
От: Martin Jackson
Дата:
Сообщение: Some questions about inheritance